{
  "schemaVersion": "1.0",
  "item": {
    "slug": "joan-workflow",
    "name": "Joan Workflow",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/donny-son/joan-workflow",
    "canonicalUrl": "https://clawhub.ai/donny-son/joan-workflow",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/joan-workflow",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=joan-workflow",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/joan-workflow"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/joan-workflow",
    "agentPageUrl": "https://openagent3.xyz/skills/joan-workflow/agent",
    "manifestUrl": "https://openagent3.xyz/skills/joan-workflow/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/joan-workflow/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Joan Workflow",
        "body": "Joan is a workspace-based knowledge and task management system for AI-assisted development. This skill covers when and how to use Joan's core concepts."
      },
      {
        "title": "Workspaces",
        "body": "Workspaces are the top-level organizational unit in Joan. Each workspace contains:\n\nPods: Versioned domain knowledge documents\nTodos: Tasks scoped to the workspace\nPlans: Implementation specs linked to todos\nMembers: Team members with roles (admin, member)"
      },
      {
        "title": "Pods",
        "body": "Pods are versioned markdown documents containing domain knowledge. Use pods to:\n\nDocument project architecture and design decisions\nStore domain-specific terminology and business rules\nShare knowledge across team members and AI assistants\nMaintain living documentation that evolves with the project\n\nPod lifecycle:\n\nCreate locally with joan pod create\nEdit the markdown file in .joan/pods/\nPush to server with joan pod push\nPull latest with joan pod pull"
      },
      {
        "title": "Todos",
        "body": "Todos are tasks scoped to a workspace. Use todos to:\n\nTrack work items across team members\nAssign tasks and set priorities\nLink implementation plans to tasks\n\nTodo workflow:\n\nCreate with joan todo create\nList with joan todo list\nUpdate status as work progresses\nArchive when complete"
      },
      {
        "title": "Plans",
        "body": "Plans are implementation specs linked to todos. Use plans to:\n\nDocument how a feature will be implemented\nBreak down complex tasks into steps\nShare implementation approach with team"
      },
      {
        "title": "Project Initialization",
        "body": "joan init                    # Interactive workspace selection\njoan init -w <workspace-id>  # Non-interactive with specific workspace\njoan status                  # Show project and auth status"
      },
      {
        "title": "Pod Management",
        "body": "joan pod list               # List tracked pods\njoan pod list --all         # List all workspace pods\njoan pod add                # Add workspace pods to project\njoan pod create             # Create new pod locally\njoan pod pull               # Pull pods from server\njoan pod push               # Push local pods to server\njoan pod open               # Open pod in browser"
      },
      {
        "title": "Todo Management",
        "body": "joan todo list              # List todos for tracked pods\njoan todo list --mine       # List todos assigned to me\njoan todo create            # Create new todo\njoan todo update <id>       # Update todo fields\njoan todo archive <id>      # Archive completed todo"
      },
      {
        "title": "Plan Management",
        "body": "joan plan list <todo-id>    # List plans for a todo\njoan plan create <todo-id>  # Create implementation plan\njoan plan pull <todo-id>    # Pull plans from server\njoan plan push <todo-id>    # Push plans to server"
      },
      {
        "title": "Context Generation",
        "body": "joan context claude         # Generate CLAUDE.md with Joan context"
      },
      {
        "title": "Starting a New Project",
        "body": "Run joan init to connect project to a workspace\nSelect pods relevant to the project domain\nRun joan context claude to inject context into CLAUDE.md\nRead the generated pod references before coding"
      },
      {
        "title": "Before Coding a Feature",
        "body": "Check if relevant pods exist: joan pod list --all\nAdd any missing pods: joan pod add\nPull latest: joan pod pull\nRead pods to understand domain context"
      },
      {
        "title": "After Completing Work",
        "body": "Consider if learnings should become a pod\nUpdate or create todos to reflect progress\nPush any local changes: joan pod push and joan todo push"
      },
      {
        "title": "Documenting New Knowledge",
        "body": "Create a pod: joan pod create\nWrite domain knowledge in markdown\nPush to share: joan pod push\nUpdate CLAUDE.md context: joan context claude"
      },
      {
        "title": "MCP Integration",
        "body": "Joan provides an MCP server at https://joan.land/mcp/joan with tools:\n\nlist_workspaces - List accessible workspaces\nlist_pods - List pods in a workspace\nget_pod - Retrieve pod content\n\nThe MCP server uses OAuth 2.1 authentication. Authenticate via the CLI first with joan auth login."
      },
      {
        "title": "Project Configuration",
        "body": "Joan stores project config in .joan/config.yaml:\n\nworkspace_id: <uuid>\ntracked_pods:\n  - name: \"Pod Name\"\n    id: <uuid>\n\nPods are stored locally in .joan/pods/ as markdown files."
      },
      {
        "title": "Pod Authoring",
        "body": "Use clear, descriptive titles\nInclude context about when the knowledge applies\nKeep pods focused on a single domain concept\nUpdate pods when knowledge evolves\nReference related pods when helpful"
      },
      {
        "title": "Todo Management",
        "body": "Create todos at the right granularity (not too big, not too small)\nLink todos to relevant pods for context\nUpdate status promptly to keep team informed\nArchive completed todos to reduce noise"
      },
      {
        "title": "Context Synchronization",
        "body": "Run joan context claude after changing tracked pods\nPull pods before starting significant work\nPush changes promptly to share with team"
      }
    ],
    "body": "Joan Workflow\n\nJoan is a workspace-based knowledge and task management system for AI-assisted development. This skill covers when and how to use Joan's core concepts.\n\nCore Concepts\nWorkspaces\n\nWorkspaces are the top-level organizational unit in Joan. Each workspace contains:\n\nPods: Versioned domain knowledge documents\nTodos: Tasks scoped to the workspace\nPlans: Implementation specs linked to todos\nMembers: Team members with roles (admin, member)\nPods\n\nPods are versioned markdown documents containing domain knowledge. Use pods to:\n\nDocument project architecture and design decisions\nStore domain-specific terminology and business rules\nShare knowledge across team members and AI assistants\nMaintain living documentation that evolves with the project\n\nPod lifecycle:\n\nCreate locally with joan pod create\nEdit the markdown file in .joan/pods/\nPush to server with joan pod push\nPull latest with joan pod pull\nTodos\n\nTodos are tasks scoped to a workspace. Use todos to:\n\nTrack work items across team members\nAssign tasks and set priorities\nLink implementation plans to tasks\n\nTodo workflow:\n\nCreate with joan todo create\nList with joan todo list\nUpdate status as work progresses\nArchive when complete\nPlans\n\nPlans are implementation specs linked to todos. Use plans to:\n\nDocument how a feature will be implemented\nBreak down complex tasks into steps\nShare implementation approach with team\nCLI Commands Reference\nProject Initialization\njoan init                    # Interactive workspace selection\njoan init -w <workspace-id>  # Non-interactive with specific workspace\njoan status                  # Show project and auth status\n\nPod Management\njoan pod list               # List tracked pods\njoan pod list --all         # List all workspace pods\njoan pod add                # Add workspace pods to project\njoan pod create             # Create new pod locally\njoan pod pull               # Pull pods from server\njoan pod push               # Push local pods to server\njoan pod open               # Open pod in browser\n\nTodo Management\njoan todo list              # List todos for tracked pods\njoan todo list --mine       # List todos assigned to me\njoan todo create            # Create new todo\njoan todo update <id>       # Update todo fields\njoan todo archive <id>      # Archive completed todo\n\nPlan Management\njoan plan list <todo-id>    # List plans for a todo\njoan plan create <todo-id>  # Create implementation plan\njoan plan pull <todo-id>    # Pull plans from server\njoan plan push <todo-id>    # Push plans to server\n\nContext Generation\njoan context claude         # Generate CLAUDE.md with Joan context\n\nWhen to Use What\nStarting a New Project\nRun joan init to connect project to a workspace\nSelect pods relevant to the project domain\nRun joan context claude to inject context into CLAUDE.md\nRead the generated pod references before coding\nBefore Coding a Feature\nCheck if relevant pods exist: joan pod list --all\nAdd any missing pods: joan pod add\nPull latest: joan pod pull\nRead pods to understand domain context\nAfter Completing Work\nConsider if learnings should become a pod\nUpdate or create todos to reflect progress\nPush any local changes: joan pod push and joan todo push\nDocumenting New Knowledge\nCreate a pod: joan pod create\nWrite domain knowledge in markdown\nPush to share: joan pod push\nUpdate CLAUDE.md context: joan context claude\nMCP Integration\n\nJoan provides an MCP server at https://joan.land/mcp/joan with tools:\n\nlist_workspaces - List accessible workspaces\nlist_pods - List pods in a workspace\nget_pod - Retrieve pod content\n\nThe MCP server uses OAuth 2.1 authentication. Authenticate via the CLI first with joan auth login.\n\nProject Configuration\n\nJoan stores project config in .joan/config.yaml:\n\nworkspace_id: <uuid>\ntracked_pods:\n  - name: \"Pod Name\"\n    id: <uuid>\n\n\nPods are stored locally in .joan/pods/ as markdown files.\n\nBest Practices\nPod Authoring\nUse clear, descriptive titles\nInclude context about when the knowledge applies\nKeep pods focused on a single domain concept\nUpdate pods when knowledge evolves\nReference related pods when helpful\nTodo Management\nCreate todos at the right granularity (not too big, not too small)\nLink todos to relevant pods for context\nUpdate status promptly to keep team informed\nArchive completed todos to reduce noise\nContext Synchronization\nRun joan context claude after changing tracked pods\nPull pods before starting significant work\nPush changes promptly to share with team"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/donny-son/joan-workflow",
    "publisherUrl": "https://clawhub.ai/donny-son/joan-workflow",
    "owner": "donny-son",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/joan-workflow",
    "downloadUrl": "https://openagent3.xyz/downloads/joan-workflow",
    "agentUrl": "https://openagent3.xyz/skills/joan-workflow/agent",
    "manifestUrl": "https://openagent3.xyz/skills/joan-workflow/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/joan-workflow/agent.md"
  }
}