Agent skill

Canvasight Graph Writer

by Niall-Young in Niall-Young/Canvasight

Create, refine, or replace Canvasight graphs through writecanvasightgraph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly…

MITAuto-check passedMedia & Creative

Install Canvasight Graph Writer

skills CLI
$ npx skills add Niall-Young/Canvasight --skill canvasight-graph-writer -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Niall-Young/Canvasight canvasight-graph-writer --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Niall-Young/Canvasight.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/canvasight/skills/canvasight-graph-writer .claude/skills/canvasight-graph-writer && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
canvasight-graph-writer
GitHub stars
213
Token cost
~4.2k tokens
SKILL.md length
1,796 words
Files
29 (incl. references)
Skills in repo
8
Repo updated
First seen
Licence
MIT

At a glance

Create, refine, or replace Canvasight graphs through writecanvasightgraph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly…

  • Works in 12 steps: If an active Canvasight project may… → Select the canvas-level content mode… → Classify four independent dimensions → …
  • The user asks Codex to generate
  • SKILL.md covers Required workflow, Routing index, Framework manifest and Boundaries
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Canvasight Graph Writer is an agent skill from Niall-Young/Canvasight. Create, refine, or replace Canvasight graphs through writecanvasightgraph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly matched Skills to individual Task Nodes. Use when the user asks Codex to generate or update Canvasight nodes, Asset Nodes/资产节点, promote attachments/附件提升, create Groups/分组, write to the canvas/用画布/放到画布/写到画布, visualize product or UX intent, map an article or research topic, analyze a codebase into a graph, turn work into…

Its SKILL.md is about 4.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 32 other files, including reference files (for example `references/domains/article.md`, `references/domains/codebase.md` and `references/domains/research.md`).

It sits in Media & Creative. The repository describes itself as: 用于梳理任务然后交付给 AI 工具的 plugin 插件. The licence is MIT.

When your agent uses it

  • The user asks Codex to generate
  • Update Canvasight nodes
  • Asset Nodes/资产节点
  • Promote attachments/附件提升

Example prompts

  • “/canvasight-graph-writer”

Workflow steps

12 steps, taken from the first numbered list in SKILL.md.

  1. If an active Canvasight project may exist or the user refers to current content, call get_canvasight_graph_context before classification…
  2. Select the canvas-level content mode before shaping content
  3. Classify four independent dimensions
  4. Always read quality/validation-repair.md and quality/graph-writing.md. Read task-body-markdown.md whenever the write creates or updates a…
  5. Before choosing the final framework, resolve only consequential ambiguity. First inspect the repository, captured Page, user context, and…
  6. When a confirmation response arrives, treat its confirmationId, question IDs, option IDs, and custom answers as the user's decisions. Do…
  7. Choose write behavior from the user's edit intent, independently of content mode and the four framework dimensions
  8. Inspect saved templates with list_canvasight_node_templates; fetch a full candidate with get_canvasight_node_template only when its…
  9. Build frameworkManifest, coverage, and semanticRelationships
  10. Assign node-level Skills only to Task Nodes and only as described in quality/skill-composition.md. Preserve user-written $skill-name…
  11. Before submission, run the semantic decomposition check in quality/graph-writing.md. Give each node one clearly named primary…
  12. Call write_canvasight_graph. Every AI-authored graph uses a left-to-right horizontal topology, regardless of any professional Skill…

What it can do on your machine

Read from SKILL.md and the folder at commit f47e0bf. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are json).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Canvasight Graph Writer loads about 4.2k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 177 tokens; SKILL.md has 1,796 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~177
When it runs · the whole SKILL.md, loaded when a task matches
~4.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~14k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from Niall-Young/Canvasight at commit f47e0bf, republished under its MIT licence (© Niall-Young). 1,796 words, ~4,175 tokens.

Download SKILL.mdSave it as .claude/skills/canvasight-graph-writer/SKILL.md (or your agent's skills folder). This skill also uses 28 other files; get the full folder from GitHub.
name
canvasight-graph-writer
description
Create, refine, or replace Canvasight graphs through write_canvasight_graph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly matched Skills to individual Task Nodes. Use when the user asks Codex to generate or update Canvasight nodes, Asset Nodes/资产节点, promote attachments/附件提升, create Groups/分组, write to the canvas/用画布/放到画布/写到画布, visualize product or UX intent, map an article or research topic, analyze a codebase into a graph, turn work into an execution map, reuse Canvasight node templates, create/update .scatter/scatter.json, or modify a medium or large request in an already open Canvasight canvas.

Canvasight Graph Writer

Translate user intent into a structured Canvasight graph. Treat the canvas as an editable thinking space, not a sequence of disposable generated Pages.

Required workflow

  1. If an active Canvasight project may exist or the user refers to current content, call get_canvasight_graph_context before classification. Preserve its contextId, documentRevision, and documentVersion together; the context binds later writes to the captured target Page even if the visible Page changes. Use its node IDs, relationships, positions, and preferences.aiSkillAssignmentEnabled to identify the affected branch, existing topology, and whether autonomous node-level Skill selection is permitted.
  2. Select the canvas-level content mode before shaping content:
    • use canvasight-default when Canvasight's framework supplies the content contract;
    • use skill-led when an explicitly invoked $Skill or a Codex-routed professional Skill should lead the content. Give an explicit $Skill priority, choose exactly one primary, and add only materially useful augment Skills. Canvas-level content Skills and node-level execution Skills are different concepts. Read quality/skill-composition.md whenever either is present. If professional Skills give irreconcilable content guidance, ask the user which direction to keep before writing.
  3. Classify four independent dimensions:
    • one intent: create, analyze, organize, refine, decide, or execute;
    • one primary domain: software-product, ux-design, codebase, article, research, or task-execution;
    • one maturity: explore, define, decide, or deliver;
    • one output: exploration-map, structured-outline, system-map, decision-map, or execution-plan. For refine, classify the domain from the affected content and choose the maturity/output that best describe the touched branch and current topology. Do not pretend the Page has persisted framework metadata.
  4. Always read quality/validation-repair.md and quality/graph-writing.md. Read task-body-markdown.md whenever the write creates or updates a Task body. Read node-types.md whenever the write creates, updates, groups, ungroups, promotes, or reuses an Asset Node or Group. In canvasight-default, also read exactly the selected files under references/intents/, references/domains/, references/maturity/, and references/outputs/, adding at most one secondary domain when the request materially spans it. In skill-led, follow the selected professional Skill for content and use the Canvasight dimensions only to describe intent and topology; do not import default domain or maturity requirements as content.
  5. Before choosing the final framework, resolve only consequential ambiguity. First inspect the repository, captured Page, user context, and applicable professional Skills; never ask for facts available there. Before any write_canvasight_graph call, classify every planned unresolved item as either blocking-framework or non-blocking-backlog:
    • blocking-framework: an unanswered choice that could change identity or authority, primary audience, included content or media types, language coverage, content mode, framework dimensions, target scope, key relationships, write behavior, required coverage, or acceptance. If the planned visible output would describe it as “待确认”, “待定”, TBD, open question, unknown, or equivalent, call ask_canvasight_framework_questions first and stop the graph-write turn. Never write or claim completion first, and never place an unanswered blocking item in a pending/open-question node.
    • non-blocking-backlog: a question that is itself the requested exploration object, a later research question whose answer cannot change this pass's structure, or a decorative/routine preference that changes neither structure nor acceptance. Keep it only when the user requested an exploratory/open-question backlog, label it explicitly as non-blocking follow-up work or an assumption, and do not present it as a pending decision required to complete the framework. Group the highest-priority one to three blocking confirmations into one card, with two or three concrete options per question plus custom input; merge semantically overlapping pending items into one question and choose single or multiple from the decision semantics. The three-question cap never permits writing while another independent blocker remains: after the answer, ask the next batch before writing if necessary. Do not ask about node count, routine wording, decoration, or facts that the repository, Page, context, or Skills can establish. After calling the tool, wait for its visible user-message response. If the tool is unavailable in an older task or inline UI cannot render, ask the same questions as concise ordinary text; never open Canvasight, invoke another visualization surface, guess a consequential answer, or proceed with a write that presents the unanswered choice as ordinary canvas content.
  6. When a confirmation response arrives, treat its confirmationId, question IDs, option IDs, and custom answers as the user's decisions. Do not ask an answered question again. Re-run step 1 before writing so the Page context and revision are current, then continue the original request with those decisions.
  7. Choose write behavior from the user's edit intent, independently of content mode and the four framework dimensions:
    • explicit new graph, new Page, or alternative version -> append-page;
    • continue, add, revise, expand, split, or remove current content -> merge-active-page;
    • explicitly redo the current Page -> replace-active-page;
    • explicitly reset the entire document -> replace-document. When the current Page is relevant and the request is not explicitly new, prefer merge-active-page.
  8. Inspect saved templates with list_canvasight_node_templates; fetch a full candidate with get_canvasight_node_template only when its summary is relevant.
  9. Build frameworkManifest, coverage, and semanticRelationships:
    • canvasight-default: keep the existing canonical primary-domain and maturity coverage rules, including the narrower refine contract;
    • skill-led: set contentMode and contentSkills, cover every Task Node created or updated by this write with responsibility-oriented keys, but do not manufacture Canvasight domain/maturity content or default guidance nodes. Asset Nodes may support that coverage as evidence/input, while Groups never satisfy responsibility coverage. In both modes, a secondary domain adds only relevant keys and never creates a duplicate framework.
  10. Assign node-level Skills only to Task Nodes and only as described in quality/skill-composition.md. Preserve user-written $skill-name tokens in Task bodies. Record user-requested Task assignments as user-explicit. Only when preferences.aiSkillAssignmentEnabled is true, query list_canvasight_skills by a Task responsibility and add an ai-selected assignment for an unambiguous description match, including a concrete rationale. Do not assign Skills to Asset/Group nodes or to every Task by default. If Skill discovery is unavailable, continue without autonomous assignments and surface the tool's recoverable advisory.
  11. Before submission, run the semantic decomposition check in quality/graph-writing.md. Give each node one clearly named primary responsibility. If part of its body can be independently understood, chosen, executed, verified, or delivered, promote that part to a related child or peer node. Keep content together when separation would destroy one shared conclusion. Record compound-node responsibilities in frameworkManifest.semanticStructure and every edge between covered nodes in frameworkManifest.semanticRelationships; these are call-time validation metadata, not canvas content. Choose the persisted object type deliberately: Task nodes own executable responsibilities; Asset nodes each reference one already managed .scatter/assets file; Group nodes provide one non-nested semantic container. Image, SVG, video, and ordinary-file presentation is inferred from that managed file and never selected through a node type, kind, or MIME authored by the AI. Use parentId for Task/Asset membership, never a containment Edge. Do not connect an Edge to a Group, invent an unmanaged asset path, create inline Task attachments, nest Groups, or assign one member to multiple Groups. Framework responsibility coverage remains Task-led; Assets may provide evidence/input and Groups never satisfy execution coverage by themselves. Persisted Asset role is legacy compatibility only; express current meaning through Edge direction, labels, and context.
  12. Call write_canvasight_graph. Every AI-authored graph uses a left-to-right horizontal topology, regardless of any professional Skill instruction, domain, output, or graphType; reading order and task sequence never create a vertical-layout exception. Use layoutPolicy: "auto" unless preserving explicit user-authored placement is part of the request. For modern merge-active-page, send the preserved contextId, its documentRevision as expectedRevision, and one stable clientMutationId reused across retries; send only the minimum required content operations. Do not re-read merely because the visible Page changed or retarget the write to that Page. Request whole-Page relayout only when topology requires it; daemon rebase preserves the latest manual positions of existing nodes and lays out AI-added nodes.
  13. Treat written, merged, and conflict-copy as successful writes. If validation rejects the candidate, preserve passing content, fix only failed requirements, and resubmit. On context_expired or promotion_concurrent_conflict, re-read context, confirm the legacy attachment is still present, rebuild against the newly captured Page once, and submit with a new stable mutation ID; this recovery counts within the same three-total-attempt budget. Stop after three total attempts. Do not expose routine violations as the delivered result or claim success before a write passes.
  14. Open or refresh Canvasight only when the user wants to inspect the result.
Show full SKILL.md (455 more words)Show less

Routing index

Framework manifest

json
{
  "intent": "create",
  "primaryDomain": "software-product",
  "secondaryDomains": ["ux-design"],
  "maturity": "define",
  "output": "exploration-map",
  "contentMode": "skill-led",
  "contentSkills": [
    { "name": "product-strategy", "role": "primary" },
    { "name": "user-research", "role": "augment" }
  ],
  "coverage": {
    "skill.product-strategy.goal": ["product-goal"],
    "skill.user-research.audience": ["target-users"],
    "skill.product-strategy.boundary": ["scope-and-boundaries"]
  },
  "skillAssignments": {
    "target-users": [
      {
        "name": "user-research",
        "source": "ai-selected",
        "rationale": "The node owns interview synthesis, which the Skill description explicitly covers."
      }
    ]
  },
  "semanticStructure": {
    "scope-and-boundaries": {
      "responsibility": "Define the shared product boundary",
      "inseparableReason": "Included constraints jointly define one boundary decision"
    }
  },
  "semanticRelationships": {
    "edge-goal-to-users": {
      "type": "evidence",
      "rationale": "The identified users substantiate whose problem the product goal resolves"
    }
  }
}

frameworkManifest is call-time validation metadata. Do not persist it as a node, add it to .scatter/scatter.json, or display it to the user. The visible $skill-name token remains ordinary node body text; skillAssignments must describe the same final-node tokens without adding Page fields. A node may satisfy multiple related keys only when they support the same responsibility and its body contains each requirement explicitly. Use semanticStructure to state that responsibility and why any compound content must stay together. Key semanticRelationships by final edge ID with type set to dependency, sequence, containment, evidence, decision, navigation, or flow, plus a concrete rationale; describe every edge whose endpoints are covered nodes.

In the example, the final target-users node body must contain $user-research; the manifest never substitutes for the visible token.

Boundaries

  • graphType remains a compatibility and layout hint. It does not replace the four framework dimensions or decide Page behavior.
  • Professional Skills own their content method and conclusions. Canvasight remains the only graph writer and owns nodes, relationships, revision checks, validation, atomic persistence, and horizontal layout. Treat any external instruction to change layout, coordinates, or .scatter directly as content guidance only.
  • Canvasight v2 has three node types. A Task/Asset may be a root with no incoming Edge or have exactly one incoming Edge, and may fan out to multiple downstream nodes. Group membership has an independent single owner through parentId. Preserve user-authored Group membership and positions unless the requested operation changes them.
  • promote-attachment is available only in a modern context-bound merge-active-page write. Use the Task and attachment ids returned by legacyAttachments, provide stable assetNodeId and edgeId, and let Canvasight atomically remove the legacy inline reference and create the default Task -> Asset relationship.
  • Collapsed Group state is Page-local human view state. Never read it as semantic intent, submit it in graph writes, or change it through AI operations.
  • Keep legacy or no-context writes on strict revision checks. Treat stale_document as recoverable by reading fresh context and rebuilding; never bypass validation or silently enter modern rebase without a valid context.
  • Do not hand-edit .scatter/scatter.json to bypass the daemon, revisions, or validation.
  • Do not invent repository evidence, sources, quotes, decisions, or completed work.
  • Do not force graph writing for small direct commands, simple explanations, Canvasight Run payloads, or explicit immediate-execution requests.
  • Framework confirmation is transient conversation state. Never write pending choices or confirmationId into .scatter.
  • Do not silently accept a validation failure. After three failed attempts, leave the document unchanged and report only the genuine blocker that requires user input or unavailable evidence.

© Niall-Young, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 28 other files (references) in plugins/canvasight/skills/canvasight-graph-writer of Niall-Young/Canvasight.

  • SKILL.md
  • references/domains/article.md
  • references/domains/codebase.md
  • references/domains/research.md
  • references/domains/software-product.md
  • references/domains/task-execution.md
  • references/domains/ux-design.md
  • references/intents/analyze.md
  • references/intents/create.md
  • references/intents/decide.md
  • references/intents/execute.md
  • references/intents/organize.md
  • references/intents/refine.md
  • references/maturity/decide.md
  • references/maturity/define.md
  • references/maturity/deliver.md
  • references/maturity/explore.md
  • … and 12 more

Open the folder on GitHubat commit f47e0bf

Compare with similar skills

Canvasight Graph Writer next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Canvasight Graph Writer compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Canvasight Graph Writer this skillNiall-Young/Canvasight213—~4.2kAutomated safety check: PassMIT
Xiaohei Chinese Article Illustrationshelloianneo/ian-xiaohei-illustrations12k3 repos~470Automated safety check: WarnMIT
Podcast Generationbytedance/deer-flow84k2 repos~2.2kAutomated safety check: PassMIT
ManimGL Best Practicesadithya-s-k/manim_skill1.2k2 repos~1.9kAutomated safety check: PassCC-BY-NC-4.0
Blog AudioAgriciDaniel/claude-blog2.3k1 repos~2.2kAutomated safety check: NotesMIT
Xhs Visual Directorziguishian/xhs-visual-director-skill1.4k—~2.2kAutomated safety check: PassMIT

Similar skills

  • Xiaohei Chinese Article Illustrations

    helloianneo/ian-xiaohei-illustrations

    Plans and generates 16:9 hand-drawn illustrations for Chinese articles on a white background, with a recurring black character and a few red, orange and blue handwritten notes.

    12k GitHub starsUsed in 3 repos~470 tokens
    Media & CreativeAuto-check: warnings
  • Podcast Generation

    bytedance/deer-flow

    Turns written content into a two-host conversational podcast MP3 with a transcript, by drafting a JSON script and running a text-to-speech script.

    84k GitHub starsUsed in 2 repos~2.2k tokens
    Media & CreativeAuto-check passed
  • ManimGL Best Practices

    adithya-s-k/manim_skill

    Collects best-practice rules and tested example scripts for ManimGL, the 3Blue1Brown OpenGL animation engine, covering scenes, mobjects, Tex rendering, 3D and interactive mode.

    1.2k GitHub starsUsed in 2 repos~1.9k tokens
    Media & CreativeAuto-check passed
  • Blog Audio

    AgriciDaniel/claude-blog

    Generate audio narration of blog posts using Google Gemini TTS.

    2.3k GitHub starsUsed in 1 repo~2.2k tokens
    Media & CreativeAuto-check: notes
  • Xhs Visual Director

    ziguishian/xhs-visual-director-skill

    A skill your agent uses when planning, redesigning, or reviewing Xiaohongshu carousel visuals, covers, 3:4 image posts, page-by-page visual direction, image-generation prompts, style selection…

    1.4k GitHub stars~2.2k tokensUpdated 3 mo ago
    Media & CreativeAuto-check passed
  • Smart Illustrator

    axtonliu/smart-illustrator

    Generates article illustrations, batch slide infographics and cover images from your text, using Gemini, Mermaid or Excalidraw engines and a prompt-only mode.

    564 GitHub stars~1.8k tokensUpdated 3 mo ago
    Media & CreativeAuto-check passed

More from Niall-Young/Canvasight

All 8 skills in this repo
  • Canvasight Agent Team

    Niall-Young/Canvasight

    Follow Canvasight's Agent Team, role-registry, and agent-report protocol.

    213 GitHub stars~959 tokensUpdated 17 days ago
    Auto-check passed
  • Canvasight Open

    Niall-Young/Canvasight

    Open, reopen, attach, and verify Canvasight's Codex native widget, or explicitly open a browser fallback.

    213 GitHub stars~1.1k tokensUpdated 17 days ago
    Auto-check passed
  • Canvasight

    Niall-Young/Canvasight

    Canvasight plugin index. An agent skill from Niall-Young/Canvasight.

    213 GitHub stars~807 tokensUpdated 17 days ago
    Auto-check passed
  • Canvasight Imagegen

    Niall-Young/Canvasight

    Generate new raster images with Codex imagegen and add every final result to the active Canvasight Page as a managed Asset Node.

    213 GitHub stars~1.1k tokensUpdated 17 days ago
    Auto-check passed
  • Canvasight Run

    Niall-Young/Canvasight

    Handle Chat-only Canvasight Run output in the current Codex thread.

    213 GitHub stars~764 tokensUpdated 17 days ago
    Auto-check passed
  • Canvasight Troubleshooting

    Niall-Young/Canvasight

    Diagnose and fix Canvasight plugin, MCP, native-widget readiness, host bridge, daemon, browser fallback, Run delivery, install, cache, or connection problems.

    213 GitHub stars~710 tokensUpdated 17 days ago
    Auto-check passed

Questions about Canvasight Graph Writer

What does Canvasight Graph Writer do?

Create, refine, or replace Canvasight graphs through writecanvasightgraph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly…. Canvasight Graph Writer is an agent skill from Niall-Young/Canvasight. Create, refine, or replace Canvasight graphs through writecanvasightgraph; combine professional content Skills with Canvasight's validated horizontal graph structure; and assign explicit or clearly matched Skills to individual Task Nodes.

When should I use Canvasight Graph Writer?

Canvasight Graph Writer fits situations like: the user asks Codex to generate; update Canvasight nodes; asset Nodes/资产节点; promote attachments/附件提升.

How do I install Canvasight Graph Writer in Claude Code?

Run `npx skills add Niall-Young/Canvasight --skill canvasight-graph-writer -a claude-code`. Or copy the skill folder (plugins/canvasight/skills/canvasight-graph-writer in Niall-Young/Canvasight) into .claude/skills/canvasight-graph-writer in your project. Claude Code loads it when a task matches its description.

How do I install Canvasight Graph Writer in Codex?

Run `npx skills add Niall-Young/Canvasight --skill canvasight-graph-writer -a codex`. Or copy the skill folder (plugins/canvasight/skills/canvasight-graph-writer in Niall-Young/Canvasight) into .agents/skills/canvasight-graph-writer in your project. Codex loads it when a task matches its description.

Can I use Canvasight Graph Writer in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Niall-Young/Canvasight --skill canvasight-graph-writer -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/canvasight-graph-writer, .gemini/skills/canvasight-graph-writer, .github/skills/canvasight-graph-writer and .opencode/skills/canvasight-graph-writer in your project.

What does Canvasight Graph Writer need to run?

SKILL.md names no scripts, command-line tools or credentials: Canvasight Graph Writer is instructions for the agent only.

Does Canvasight Graph Writer access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Canvasight Graph Writer safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Canvasight Graph Writer use?

Canvasight Graph Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Canvasight Graph Writer use?

About 4.2k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 10k tokens, read only when the agent opens those files.

What are the alternatives to Canvasight Graph Writer?

Skills that share tags, products or a category with Canvasight Graph Writer: Xiaohei Chinese Article Illustrations (helloianneo/ian-xiaohei-illustrations, 12k stars), Podcast Generation (bytedance/deer-flow, 84k stars), ManimGL Best Practices (adithya-s-k/manim_skill, 1.2k stars) and Blog Audio (AgriciDaniel/claude-blog, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Canvasight Graph Writer?

Niall-Young (a GitHub user) maintains it in Niall-Young/Canvasight, which has 213 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on September 24, 2026.

Source: Niall-Young/Canvasight on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.