blog-post

レビュー · 60
Registry に収録

Use when the user wants to write a blog post about a feature, product change, PR, git diff, or any technical topic - accepts marketing briefs, PRs, git refs, codebase paths, or freeform descriptions as input

Verified installs0
スター39
バージョン1.0.0
品質57/100 · 有望
信頼60/100 · サンドボックス限定
監査72/100 · 要レビュー

供給アセットの概要

コーディングと開発 Agent

コードレビュー、リポジトリ分析、テスト、CI、GitHub、DevOps、開発ワークフロー向けのスキルです。

カテゴリを見る

シナリオ

コーディング Agent

リポジトリを理解し、コードを編集し、プルリクエストをレビューできるコーディング Agent が必要です。

Agent 適合

Claude Code + CLI + Codex

Codex、Claude Code、Cursor、CLI、またはカスタム Agent に対応します。

インストール

準備完了

npx skills add AlemTuzlak/skills --skill blog-post

メンテナンス

新しい

最終プッシュから 3 日

リスク

要レビュー

ライセンスが不明確です

GitHub 品質

39

57/100 品質 · 68/100 信頼

対象タグ

コーディングコーディング Agentコーディング Agentagent-skill

レビュー注記

ライセンスが不明確です · Permission surface may require sandboxing

Agent 導入スコアカード

信頼、監査、インストール準備状況を一目で確認

公開リポジトリのメタデータ、OpenAgentSkill のレビューシグナル、保守の鮮度、インストール準備状況を組み合わせたスコアです。候補選定の目安であり、人によるレビューの代替ではありません。

品質

有望
57

有用な候補ですが、採用前に代替と比較してください。

信頼

サンドボックス限定
60

信頼シグナルが不足または混在する有用な候補です。結果ループがタスク適合を示すまで、隔離されたワークスペースで使用してください。

監査

要レビュー
72

インストール準備、安全メタデータ、保守、採用リスクの機械可読なレビュー。

OpenAgentSkill Trust Score v5

インストール前に人のレビュー

実作業で使う前に、サンドボックスでのみ実行し、近い代替と比較してください。

CodexClaude CodeCursorOpenAgentSkill CLI

スター

GitHub スター 39

リポジトリ活動

スター 39、フォーク 0

メンテナンス

最終プッシュから 3 日

ライセンス

不明

インストール

npx skills add AlemTuzlak/skills --skill blog-post

インストール安全性

標準パッケージまたはランタイムのインストールパス

権限範囲

filesystem or document access, network or browser access

Agent の成果

Agent の成果データはまだありません

ドキュメント

README/SKILL.md の文脈が十分です

リスク概要

本番前にレビュー

  • Repository license is unknown; skill does not specify its own license or attribution terms.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • ライセンスが不明確です
  • Low GitHub adoption signal

インストール準備状況

インストールパスを利用可能

  • インストールパスを利用できます
  • リポジトリの根拠を利用できます
  • ライセンスが不明確です
  • Agent-Proven の成果エビデンスはまだありません

Agent 可読メタデータ

このスキルの機械可読な判断データ。

このブロックまたは埋め込み JSON を使い、Agent がこのスキルをインストールすべきか、代替を選ぶべきか、先に人のレビューを求めるべきかを判断できます。

JSON を開く

適したタスク

  • コーディング Agent ワークフロー
  • Claude Code チーム
  • builders willing to evaluate younger projects
  • Inspect source files

適した Agent

CodexClaude CodeCursorOpenAgentSkill CLICLI

インストール判断

コマンド
npx skills add AlemTuzlak/skills --skill blog-post
ポリシー
レビュー
人によるレビュー
はい

信頼とリスク

信頼
60/100
監査
72/100
リスクレベル
要レビュー

成果ループ

エンドポイント
/api/agent/outcome
イベント ID
resolve
成果
5

インストールコマンド

npx skills add AlemTuzlak/skills --skill blog-post

使わない場合

  • ベンダー提供の SLA が必要なチーム
  • production agents without a repository review
  • Low GitHub adoption signal
  • Repository license is unknown; skill does not specify its own license or attribution terms.
  • 高リスク権限のヒント: Secrets or environment access

Agent セーフティ v2

40/100 · 自動インストールを避ける

実験的レビュー

Sparse or mixed signals. Useful for discovery, but not for autonomous installation.

Test manually in an isolated workspace and compare against safer alternatives.

API で解決

ネットワークアクセス

Skill はリモートページ、API、リポジトリ、外部サービスにアクセスする可能性があります。

ファイルシステムアクセス

Skill はプロジェクトファイル、ドキュメント、生成物、ローカルワークスペース状態を読み書きする可能性があります。

Secrets or environment access

Skill metadata references credentials, tokens, environment variables, or secret-bearing workflows.

データベースアクセス

Skill はスキーマを確認し、データベースを照会し、永続ストアを扱う可能性があります。

  • 高リスク権限のヒント: Secrets or environment access
  • ライセンスが不明確です

インストール先

Agent ワークフローにこのスキルをインストール

公開インストールエンドポイントからコマンド、安全チェックリスト、対象プロンプト、正規リンクを取得します。

skill install

OpenAgentSkill CLI

Resolve policy, run the source installer safely, and report a verified install receipt.

$ npx --yes https://github.com/Leon-Drq/openagentskill/releases/download/cli-v0.2.1/openagentskill-0.2.1.tgz install alemtuzlak-blog-post

Agent 解決プラン

インストール前に Agent に適合性を検証させます。

Resolve API は第一候補、代替、安全ポリシー、監査メモ、インストール先、Agent がそのまま使えるプロンプトを返します。

テキストプランを開く

Agent が確認すべきこと

  • Resolve API でタスク適合と代替を確認。
  • 監査・信頼スコアと安全ポリシーの警告を確認。
  • Codex、Claude Code、Cursor、CLI のインストール先互換性を確認。

プロンプトをコピー

Task: Use blog-post in this workspace.
Resolve first: https://www.openagentskill.com/api/agent/resolve?task=Use%20blog-post%20for%20an%20agent%20workflow&agent=codex&max_risk=medium
Review install handoff: https://www.openagentskill.com/api/skills/alemtuzlak-blog-post/install
Install command: npx skills add AlemTuzlak/skills --skill blog-post
Before running it, summarize audit warnings, required permissions, and the fallback skill if install is risky.

Agent 引き継ぎ

別のディレクトリではなく、インストール経路を Agent に渡します。

公開インストールエンドポイントからコマンド、安全チェックリスト、対象プロンプト、正規リンクを取得します。

Install API を開く

Agent プロンプト

Use blog-post for this task. Review https://www.openagentskill.com/api/skills/alemtuzlak-blog-post/install, then install with: npx skills add AlemTuzlak/skills --skill blog-post

Registry メタデータ

自動スキル選択用の Agent 可読プロファイル。

Registry API 経由で判断、信頼、監査、ユースケース、インストールのシグナルを提供し、UI をスクレイピングせずに Agent が順位付けできます。

Manifest を開く

Agent 適合

58/100

コーディング Agent

プラットフォーム

Claude Code

監査レポート

要レビュー · 72/100

インストール準備、安全メタデータ、保守、採用リスクの機械可読なレビュー。

監査レポートを見る評価レポートを見る

Agent 判断パネル

Fallback candidate for Coding agents

まずこのスキルでプロトタイプを作り、代替候補を用意してください。

58
準備状況
プロトタイプ
段階

スタック内の役割

代替候補

主な適合

コーディング Agent

信頼ラベル

まずプロトタイプ

インストールパス

コマンド準備済み

使う場面

  • コーディング Agent ワークフロー
  • Claude Code チーム
  • builders willing to evaluate younger projects

根拠

  • 最近のリポジトリ活動
  • インストールコマンドまたは GitHub リポジトリが利用可能
  • 品質プロファイル 57/100
  • OpenAgentSkill エンゲージメント 6 件

先にレビュー

  • Low GitHub adoption signal
  • Repository license is unknown; skill does not specify its own license or attribution terms.

実装パス

  1. 1サンドボックスの Agent にインストールし、コーディング Agent タスクを一度最初から最後まで実行します。
  2. 2Compare output quality, latency, and failure behavior against at least one alternative.
  3. 3Promote it into production only after reviewing repository permissions, license, and maintenance signals.

信頼プロファイル

サンドボックス限定

信頼シグナルが不足または混在する有用な候補です。結果ループがタスク適合を示すまで、隔離されたワークスペースで使用してください。

60
OpenAgentSkill Trust Score

GitHub 採用度

確認

GitHub スター 39

スター/フォーク活動

確認

スター 39、フォーク 0; 現在のメタデータでは Issue 活動を利用できません

最近のメンテナンス

合格

最終プッシュから 3 日

ライセンスの明確さ

確認

不明

良いシグナル

  • AI レビュー承認済み
  • インストールパスを利用できます
  • リポジトリの根拠を利用できます
  • 最近保守されたリポジトリ
  • インストールコマンドに明確な高リスクパターンはありません
  • 成果ループは準備済みですが、最初の実行が必要です

インストール前にレビュー

  • Repository license is unknown; skill does not specify its own license or attribution terms.
  • Financial research output is not financial advice; require human review before any live investment decision.
  • ライセンスが不明確です
  • Low GitHub adoption signal
  • Quality score needs review
  • Permission surface needs review: filesystem or document access, network or browser access
  • GitHub adoption: 39 GitHub stars
  • Stars/forks activity: 39 stars, 0 forks; issue activity unavailable in current metadata
  • License clarity: Unknown
  • Permission surface: filesystem or document access, network or browser access
  • 実際の Agent 成果レポートはまだありません
  • 無人インストールの前に人によるレビューが必要です

推奨アクション

実作業で使う前に、サンドボックスでのみ実行し、近い代替と比較してください。

品質プロファイル

有望 Agent ワークフロー向けの候補

有用な候補ですが、採用前に代替と比較してください。

57
GitHub スター
39
鮮度
3 日前
インストール準備完了
はい
ライセンス
不明
インストール前にレビュー: Low GitHub adoption signal · Repository license is unknown; skill does not specify its own license or attribution terms.

ワークフロー適合

このスキルを使うシナリオ

ワークフロー適合

完全なワークフローに追加

代替候補

インストール前に比較

このタスクに適する可能性のある類似スキル。

すべて比較

概要

--- name: blog-post description: Use when the user wants to write a blog post about a feature, product change, PR, git diff, or any technical topic - accepts marketing briefs, PRs, git refs, codebase paths, or freeform descriptions as input ---

# Blog Post Writer

Write high-quality blog posts from code changes, marketing briefs, or feature descriptions. Handles SEO, structure, tone matching, and visual content.

**Writing rule (non-negotiable): never use em-dashes (— or –). Use a hyphen `-` instead.** Applies to every line of generated copy.

## Input Resolution

Resolve the argument (if provided) in this order:

1. Path to an existing marketing brief file (`.md` containing "Executive Summary" or "Key Messages") → **marketing brief** 2. Matches GitHub URL or `#\d+` pattern → **PR** 3. Contains `...` or `..` → **git ref range** 4. Resolves to existing file/directory → **codebase feature** 5. Otherwise → **freeform text**

If no argument is provided, ask: "What should I write about? You can provide a marketing brief path, PR URL/number, git ref range (e.g. v1.0...v2.0), file/directory path, or just describe the topic."

If multiple interpretations match, confirm with the user.

## Process Flow

```dot digraph blog_post { rankdir=TB; "Resolve input" [shape=box]; "Phase 1: Discovery" [shape=box]; "Phase 2: Research" [shape=box]; "Phase 3: Configure" [shape=box]; "Phase 4: Outline" [shape=box]; "Outline approved?" [shape=diamond]; "Phase 5: Write" [shape=box]; "Phase 6: Output" [shape=box];

"Resolve input" -> "Phase 1: Discovery"; "Phase 1: Discovery" -> "Phase 2: Research"; "Phase 2: Research" -> "Phase 3: Configure"; "Phase 3: Configure" -> "Phase 4: Outline"; "Phase 4: Outline" -> "Outline approved?"; "Outline approved?" -> "Phase 4: Outline" [label="no, revise"]; "Outline approved?" -> "Phase 5: Write" [label="yes"]; "Phase 5: Write" -> "Phase 6: Output"; } ```

**Do NOT skip phases.** Ask questions at a natural pace. Don't overwhelm, but don't artificially slow things down either. If the user answers multiple questions at once, accept their bundled answers and skip ahead.

If the user says "just pick defaults", "you choose", or similar, pick reasonable defaults based on context, state what you chose, and ask for a single confirmation before proceeding.

Never make assumptions without confirming.

## Phase 1: Discovery

### Step 1 - Analyze the input

| Input type | What to read | |---|---| | Marketing brief | Read the brief - extract problem statement, value prop, audience, key messages, competitive positioning. Still do Step 2 if the brief lacks product context, then proceed to Step 3. | | PR | Diff, PR description, review comments, commit messages (`gh pr view`, `gh pr diff`). For large PRs (20+ files), focus on user-facing changes. | | Git refs | `git diff` and `git log` between the refs. For large ranges, prioritize commit messages and user-facing changes. | | Codebase feature | Read the specified files/directories. | | Freeform text | Parse the user's description. If it lacks specifics (no feature name, no value prop, no context), ask the user to provide more detail or point to a specific file/PR. Fall back to open-ended questions only if they can't. |

**User-facing changes** include: new features, UI changes, API changes, performance improvements, bug fixes, and documentation updates. **Internal changes** include: refactors, test additions, CI changes, and dependency bumps. When uncertain, list what you found and ask the user which are relevant.

**Error handling:** - `gh` not installed/authenticated → inform user, suggest `gh auth login`, offer alternative input - Invalid PR/ref → tell user, ask to verify - File not found → ask for correct path

### Step 2 - Read broader product context

Read if they exist: README, docs/, package.json (or equivalent), marketing references.

Goal: understand what the product is, who it's for, what it does.

If nothing found, ask: "I couldn't find product context in the repo. Can you briefly describe the product and who it's for?"

### Step 3 - Present understanding

> "Here's what I understand:" > > - [ ] Feature A - short description > - [ ] Feature B - short description > > "Which of these should the blog post cover? Anything to add, remove, or correct?"

Ask as many questions as needed to fully understand the scope. Do NOT proceed until the user confirms.

### Step 4 - Flag sensitive items

Scan for: breaking changes, deprecations, security fixes, migration requirements.

If found, flag each and ask how to frame them before proceeding.

## Phase 2: Competitive Blog Research

Before configuring the post, search for similar blog posts in the space:

1. Use WebSearch to find 3-5 existing blog posts covering the same topic, competing products, or similar feature announcements 2. Analyze what works and what doesn't in those posts - structure, headlines, hooks, SEO keywords, depth 3. Identify content gaps - what are competitors NOT covering that this post could 4. Use these findings to inform SEO strategy, headline generation, and content structure

If WebSearch is unavailable, skip this phase and rely on your own knowledge.

Present a brief summary to the user:

> "I found some similar posts in the space. Here's what I noticed:" > - [Key findings about what works] > - [Content gaps / opportunities] > - [SEO keyword opportunities] > > "I'll use these insights to shape the post."

## Phase 3: Configuration

Ask these questions:

**Q1 - Audience:** "Who is this blog post for?" (developers, end users, technical decision-makers, general audience, other)

**Q2 - Tone:** Read existing blog posts, README, and docs in the repo to detect the product's voice. Then confirm:

> "Based on your existing content, the tone seems [e.g. conversational and developer-friendly]. Should I match that or go a different direction?"

If no existing content to analyze, ask directly what tone the user wants.

**Q3 - Post type:** Based on the input and audience, recommend a post type and confirm:

- **Feature announcement** - "We shipped X, here's why it matters" (~600-1000 words) - **Deep-dive technical** - "How we built X, the decisions and architecture" (~1500-2500 words) - **Problem-solution narrative** - "You have problem X, here's how this solves it" (~1000-2000 words)

> "Given the [input/audience], I'd recommend a [type] post because [reason]. Sound right?"

**Q4 - CTA:** Infer the most appropriate call to action from context: - Open source → star the repo, contribute, try it out - SaaS → sign up, start free trial - Feature update → try the new feature, read the docs - Library/SDK → install it, read the migration guide

> "I'd suggest the CTA be: [inferred CTA]. Want to go with that or something different?"

**Q5 - Involvement level:** "How involved do you want to be in the writing process?" - **A) Just write it** - I'll handle everything, pick the best headline, and save the final post. You can request changes after. - **B) Show me the outline first** - approve the structure, then I'll write the full post - **C) Walk me through it** - outline approval, then section-by-section with confirmation

## Phase 4: Outline

Generate a structured outline:

``` ## [Working title]

1. **Hook/Introduction** - [approach: question/statistic/bold statement/story] - Key point to establish - Transition to body

2. **Section Name** - [purpose] - Key points - Estimated word count

3. **Section Name** - [purpose] - Key points - Estimated word count

[...as many sections as needed]

N. **Conclusion** - [summary + CTA] - Key takeaway to reinforce - CTA: [specific action]

Estimated total: ~X words ```

If involvement level is A, generate the outline internally without showing it. For B and C, present it and wait for approval.

## Phase 5: Write

### Internal writing process (always runs, regardless of involvement level)

For each section:

1. **Write the section** 2. **Self-review:** analyze whether the content could be structured differently, is missing context the reader needs to understand and digest it, or has gaps that would confuse someone unfamiliar with the topic 3. **Backfill:** if missing pieces are found, add bridging paragraphs, context, or restructure before moving on

If involvement level is C, present each section after self-review and get confirmation before proceeding. For A and B, run this process silently.

### Headlines

After the body is complete, generate **3-5 headline options** using different formulas:

- How-to ("How [Product] solves [problem]") - Number/list ("3 reasons [feature] changes [workflow]") - Question ("Tired of [pain point]?") - Bold statement ("[Feature] is the fastest way to [outcome]") - Before/after ("[Pain] → [Result]: How [feature] makes it happen")

**Recommend one** and explain why it works best for this post's audience, SEO, and context. Also explain the trade-offs of the others.

For involvement levels B and C, present the options and get the user's selection before proceeding. For level A, use your recommendation.

Prioritize readability over SEO constraints. Write the best headline first. If it doesn't fit the 50-60 char SEO title limit, craft a separate shorter title tag for the frontmatter.

### SEO Frontmatter

Generate as YAML frontmatter at the top of the post:

```yaml --- title: "[Selected headline]" meta_description: "[140-160 chars, includes primary keyword, compelling value prop]" primary_keyword: "[main target keyword]" secondary_keywords: ["keyword1", "keyword2", "keyword3"] long_tail_keywords: ["longer phrase 1", "longer phrase 2"] slug: "[url-friendly-slug]" --- ```

Rules: - Title tag: 50-60 chars, primary keyword front-loaded - Meta description: 140-160 chars, written for humans, includes unique value prop - Keywords informed by Phase 2 competitive research - No keyword stuffing - natural language only

### Content formatting rules

- **Short paragraphs:** 2-4 sentences max - **Subheadings:** use H2 for main sections, H3 for subsections. Subheadings should work as a scannable outline on their own. - **Bold key phrases** to support F-pattern scanning - **Bullet points and lists** for any set of 3+ items - **One idea per paragraph** - **Never use em-dashes** in the generated content. No "—" characters. Use commas, colons, periods, or parentheses instead.

### Hook/Introduction

The intro has three components:

1. **Hook** (first 1-2 sentences) - a surprising statistic, bold claim, relatable pain point, or provocative question. Must create curiosity or emotional resonance in under 3 seconds of reading. 2. **Authority** - briefly establish why this matters or why the reader should trust this 3. **Promise** - clearly state what the reader will get from this post

Keep the intro to 3-5 short paragraphs. No walls of text.

### Conclusion

1. Restate the main takeaway (do NOT introduce new ideas) 2. Single, clear CTA with action verb ("Try it now", "Star the repo", "Start your free trial") 3. Optionally end with a forward-looking statement or question to spark discussion

### Visual content

**Generate directly when possible:** - Architecture diagrams → mermaid code blocks or inline SVG - Data flow diagrams → mermaid code blocks - Comparison tables → markdown tables - Code examples → syntax-highlighted code blocks

**For images that need external creation:** ```markdown <!-- TODO: Add image here --> <!-- Suggestion: [description of what the image should show] --> <!-- LLM prompt: "[ready-to-use prompt for an image generation model, e.g. 'A clean, minimal illustration showing a dashboard with dark mode toggle, flat design style, developer tool aesthetic, 16:9 ratio']" --> ![Alt text description](placeholder.png) ```

Use visuals wherever they help comprehension - after explaining a complex concept, when comparing options, or when showing UI changes.

### Code examples

For developer audiences, include at least one code exampl

技術詳細

バージョン
1.0.0
ライセンス
Unknown
最終更新
2026年8月23日
公開日
2026年8月19日

判断の要約

代替候補

58
準備完了
プロトタイプ
段階

最近のリポジトリ活動

監査

インストールレビュー

インストールと採用のレビュー

72
要レビュー
セキュリティ
70/100
メンテナンス
100/100
インストール
92/100
完全な監査を開く評価レポートを見る

Agent 実証エビデンス

Agent 実証エビデンス

Resolve、レビュー、インストール、限定実行後の成果レポート。

0
実証済み
Needs first agent run自動インストール: 先にレビュー最新: 不明
成功率
直近の失敗
成果
0
出力品質
失敗
0
非該当
0
インストール数
0
リスクによりブロック
0
設定が必要
0
本番
0

Agent の実行結果はまだありません。最初の実行では /api/agent/outcome を通じて成功、設定要件、リスクによるブロック、失敗、非該当を報告できます。

インストール

Agent ワークフローに追加

無料・オープンソース. 本番 Agent にインストールする前にレポートを確認してください。

成長ループ

共有キット

X

blog-post 用のシナリオベース草案です。X へ手動投稿できます。

キュレーターノート
blog-post: Use when the user wants to write a blog post about a feature, product change, PR, git diff, o...

39 stars

https://www.openagentskill.com/skills/alemtuzlak-blog-post?ref=x
X 下書きを開く
任意:インストールコマンド付きの返信
Listing + install path for blog-post:
https://www.openagentskill.com/skills/alemtuzlak-blog-post?ref=x

Install: npx skills add AlemTuzlak/skills --skill blog-post
返信の下書きを開く

掲載元

Registry により登録

申請可能

この掲載は公開ソースから登録されており、メンテナー申請が承認されるまで公式として表示されません。

作成者
AlemTuzlak
インデックス作成者
OpenAgentSkill コミュニティインデックス

帰属は公開リポジトリまたは作成者プロフィールにリンクされています。作成者は掲載を申請して所有権シグナルを更新できます。

このスキルを申請

所有者の申請

このスキル掲載を申請

この Registry により登録 掲載は AlemTuzlak に帰属していますが、まだ公式として表示されていません。申請すると、確認済み所有者シグナルが追加され、今後の公開、インストール、監査更新の信頼性が高まります。

クリエイター被リンクキット

README にエビデンスバッジを追加

開発者がリポジトリを評価する場所で、正規掲載、現在の信頼・監査シグナル、実際の Agent-Proven エビデンスを表示します。

[![Listed on OpenAgentSkill](https://www.openagentskill.com/api/badge/alemtuzlak-blog-post?metric=listed&label=Listed)](https://www.openagentskill.com/skills/alemtuzlak-blog-post)
[![OpenAgentSkill Trust](https://www.openagentskill.com/api/badge/alemtuzlak-blog-post?metric=trust&label=Trust)](https://www.openagentskill.com/skills/alemtuzlak-blog-post)
[![OpenAgentSkill Audit](https://www.openagentskill.com/api/badge/alemtuzlak-blog-post?metric=audit&label=Audit)](https://www.openagentskill.com/skills/alemtuzlak-blog-post/audit)
[![Agent Proven](https://www.openagentskill.com/api/badge/alemtuzlak-blog-post?metric=proven&label=Agent%20Proven)](https://www.openagentskill.com/skills/alemtuzlak-blog-post)

作者

A

AlemTuzlak

@alemtuzlak

プラットフォーム適合

健全性シグナル

GitHub スター
39
品質スコア
34/100
最終 GitHub プッシュ
2026年8月20日
フレームワークのヒント
不明
OpenAgentSkill 閲覧数
6
インストールコピー数
0
外部クリック
0

コミュニティシグナル

このスキルが Agent ワークフローに役立つかを共有してください。集約されたフィードバックがランキングを改善します。

信頼と安全性

サンドボックス限定

60
  • GitHub 採用度GitHub スター 39確認
  • スター/フォーク活動スター 39、フォーク 0; 現在のメタデータでは Issue 活動を利用できません確認
  • 最近のメンテナンス最終プッシュから 3 日合格
  • ライセンスの明確さ不明確認
  • README/SKILL.md の完全性メタデータには十分な利用・ワークフロー文脈があります合格
  • 依存関係/ランタイムのリスクnetwork or browser surface, database surface情報