Jetson Customize Fan
NVIDIAOfficialCreated by Jetson TeamDistributed by NVIDIA
- Skill
- Tool integration
- Cloud and DevOps
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow for modifying the BSP-side nvfancontrol configuration files on Jetson and Tegra (Orin, Thor) platforms. It enables users to add, remove, or edit fan profiles, including temperature-to-PWM/RPM curves and hysteresis settings, and to update boot-default control modes. The skill enforces a strict overlay-based workflow to ensure changes are preserved across image updates and correctly propagated to related carrier board configurations.
What it does
- Adds new fan profiles with custom temperature, hysteresis, PWM, and RPM curves.
- Removes existing fan profiles while ensuring boot-default integrity.
- Edits existing fan curves and hysteresis values to tune thermal-acoustic performance.
- Updates boot-default control modes, governors, and profiles.
- Lists currently defined fan profiles and default settings for a target SKU.
- Propagates configuration changes across sibling carrier board files.
When to use it
- When you need to tune fan behavior for a specific thermal solution on a Jetson platform.
- When adding a new fan profile to the BSP configuration.
- When adjusting existing fan curves to prevent oscillation or improve cooling.
- When changing the default fan control mode or governor for a specific hardware SKU.
Advantages
- Maintains a clean diff trail by using an overlay-based customization workflow.
- Prevents configuration loss during image re-extraction by separating BSP and overlay files.
- Ensures safe propagation of changes across related carrier board configurations.
- Provides clear validation rules for fan curve tuples and configuration syntax.
Usage examples
- “Add an aggressive profile to a P3767-0000 target and set it as the boot default.”
- The skill adds the 'aggressive' profile to the overlay configuration and updates the FAN_DEFAULT_PROFILE to match.
- “Edit the quiet fan profile to raise hysteresis to 5 degrees and lower PWM at 60 degrees.”
- The skill modifies the specified FAN_PROFILE curve rows in the overlay file while maintaining correct formatting.
- “List all defined fan profiles for the active SKU.”
- The skill outputs a list of all FAN_PROFILE names and the current boot default settings.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/jetson-customize-fan/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip jetson-customize-fan.zip -d .agents/skills
Documentation by Jetson Team
Modify nvfancontrol Fan Profile (BSP-side)
Purpose
Edit the per-board nvfancontrol configuration so the device boots
with the desired fan curve / control mode / governor / default
profile. BSP-side only — all writes land in the overlay tracker,
the upstream bsp_image copy is read-only.
This skill handles BSP-side edits to the per-board nvfancontrol configuration file: adding profiles, removing profiles, editing the temp → PWM / RPM curves, changing the boot default profile / control mode / governor, and listing defined profiles. Applies on Jetson / Tegra platforms (T234 Orin, T264 Thor).
File format (canonical, per the BSP file header)
POLLING_INTERVAL <seconds>
<FAN <index>>
TMARGIN <ENABLED|DISABLED>
FAN_GOVERNOR <type> {
STEP_SIZE <int>
}
FAN_CONTROL <close_loop|open_loop> {
RPM_TOLERANCE <rpm>
}
FAN_PROFILE <name> {
# TEMP HYST PWM RPM
<T0> <H0> <P0> <R0>
...
}
FAN_PROFILE <name> { ... } # one or more profiles
THERMAL_GROUP <id> {
GROUP_MAX_TEMP <C>
# zone-name <coeffs csv> <max-temp>
<zone> <coeffs> <max-temp>
...
}
FAN_DEFAULT_CONTROL <close_loop|open_loop>
FAN_DEFAULT_PROFILE <name>
FAN_DEFAULT_GOVERNOR <type>
KICKSTART_PWM <0..255>Rules:
Profile curve tuples are 4-column:
TEMP HYST PWM RPM. Sort points by ascendingTEMP; the daemon interpolates between them.PWMis0..255(8-bit duty cycle);RPMis the close-loop target speed. A trailing0 0row at the high end pins the fan off aboveGROUP_MAX_TEMP.HYSTis hysteresis (°C) at that point — the controller waitsHYSTdegrees of cooling before stepping the curve down.FAN_DEFAULT_PROFILEmust reference an existingFAN_PROFILEblock in the same<FAN N>. nvfancontrol fails to start if the default names a missing profile.FAN_DEFAULT_CONTROL=close_loop(drives toward target RPM, requires tach) oropen_loop(writes PWM directly).FAN_DEFAULT_GOVERNOR=cont(continuous interpolation) and other family-specific values; copy verbatim from existing per-board files when introducing one.THERMAL_GROUPmaps thermal zones to the controller's input. Coefficients are a 20-element CSV — copy verbatim from existing entries; values vary by chip family and zone.<FAN N>is one block per fan index (typical:<FAN 1>). Block boundaries<...>and{...}are strict; preserve indentation matching neighboring lines.Curves are characterised, not invented. Add or edit curves from real thermal-acoustic data for the platform; do not interpolate from neighbouring profiles or copy across chip families.
Prerequisites
Resolve the active profile per
../../context/target-platform-contract.md.
Refuse and route in these cases:
| Condition | Refuse with |
|---|---|
No active profile, or active: NA | Route to /jetson-set-target or /jetson-init-target. |
Profile lacks bsp_image: block | Route to /jetson-init-image. |
<bsp_image.root_path>/Linux_for_Tegra/ missing | Route to /jetson-init-image. |
<source.root_path>/Linux_for_Tegra/ missing or not a git repo | Route to /jetson-init-source. |
Resolve paths:
<bsp_image.root_path>frombsp_image.root_path:if present, else<workspace>/Image.<source.root_path>fromsource.root_path:if present, else<workspace>/Source.
<bsp_image.root_path> is read-only for this skill; every write lands
under <source.root_path> (the overlay tracker). This is the workflow
invariant in
../../context/bsp-customization-workflow.md#workflow-invariants —
hand-editing upstream silently destroys the diff trail and makes
/jetson-promote-image a noop.
The per-board file
The conf this skill edits has the relative path:
Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/nvfancontrol_<active-sku>.confIt lives in two roots; the skill walks both:
| Role | Location | Skill writes? |
|---|---|---|
| Detection + pristine source | <bsp_image.root_path>/Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/ | no — read-only |
| Overlay edit target + git commit | <source.root_path>/Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/ | yes |
Subsequent sections refer to the per-board file to mean the overlay copy
under <source.root_path>. Operations 1–4 all read, edit, and save against
that overlay copy. The <bsp_image.root_path> copy is read once during the
"Resolving <active-sku>" detection step and once during the
Overlay edit recipe's
pristine-import step, then never touched again.
Resolving <active-sku> — which file to edit
Filename conventions vary per product family:
nvfancontrol_<module.id>_<module.sku>.conf— most Orin parts (e.g.nvfancontrol_p3767_0000.conf,nvfancontrol_p3701_0008.conf).nvfancontrol_<module.id>_<module.sku>_<carrier.id>_<carrier.sku>.conf— Thor variants where the carrier disambiguates (e.g.nvfancontrol_p3834_0008_p4071_0000.conf).nvfancontrol_<carrier>_<sku>_<rev>.conf— IGX revision variants (e.g.nvfancontrol_p3740_0002_b01.conf).
The nvfancontrol daemon resolves the right file at startup based on the booted hardware's DT compatible plus board IDs (no helper script — it's done inside the binary). To map BSP-side without a running target, against <bsp_image.root_path>:
List
<bsp_image.root_path>/Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/.Filter to filenames that contain
<module.id>_<module.sku>from the active profile.If multiple candidates remain, refine with
<carrier.id>_<carrier.sku>and (when relevant) the carrier revision tag.If still ambiguous, run the per-board flash conf dispatch chain to read the kernel DTB's
compatibleand pick the file whose name aligns with the resolved board / carrier.Verify the chosen file actually exists under
<bsp_image.root_path>/Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/.
Don't blindly compose a filename — the naming convention varies by product family.
Propagation set — confs to keep in sync
The active-SKU file is rarely the only conf that should carry a customization. After editing it, apply the same edit to every sibling in the propagation set so the change survives regardless of which module / baseboard SKU is booted:
The reference platform's nvfancontrol conf — the upstream conf the active file was forked from (resolve via
reference_devkitin the active profile, orjetson-derive-carrierfork ancestry). For a BSP that contains only the reference (no derived carriers), this is the same file as the active and the rule reduces to a no-op.Every carrier-derived nvfancontrol conf — each
nvfancontrol_*.confproduced byjetson-derive-carrierfor a custom carrier on top of the same module SKU.
"Apply the same edit" ≠ blanket file copy. Port the changed FAN_PROFILE / control lines into each sibling; preserve every other line. Sibling confs often hold carrier-specific deltas (different THERMAL_GROUP coefficients for a different thermal solution, different tach RPM ceilings) that must stay intact — a blanket overwrite would mis-tune the fan on those carriers. Blanket-copying is safe only when both confs were byte-identical before the edit.
Overlay edit recipe (apply before any Operation)
Follow the canonical Off-skill edits recipe in the workflow doc — pristine import + customization commit pair, both gated by the preview gate. Apply once per run, covering every per-board file the run touches (the active conf plus every sibling in the Propagation set).
Concrete substitutions for this skill:
<rel>/<file>isrootfs/etc/nvpower/nvfancontrol/<conf>.Suggested pristine-import message:
import pristine: <comma-separated rel paths of imported confs>, bodySource: <bsp_image.root_path>/Linux_for_Tegra/ (BSP <bsp_image.version>).Suggested customization-commit header:
jetson-customize-fan: <summary>, body lines likenvfancontrol_p3767_0000.conf: added FAN_PROFILE static (open-loop, PWM=255 flat), FAN_DEFAULT_CONTROL close_loop -> open_loop, FAN_DEFAULT_PROFILE quiet -> static.
Instructions
Pick the operation that matches the user's intent and follow the matching subsection. All write-side operations (1–4) must first apply the Overlay edit recipe.
Operation 1 — Add a new fan profile.
Operation 2 — Remove a fan profile.
Operation 3 — Edit an existing fan profile (curve, hysteresis).
Operation 4 — Change the boot default (control / profile / governor).
Operation 5 — List defined fan profiles (read-only).
After any write-side operation, run the Deploy chain (## Deploy)
to land the change on the device.
Examples
Add an aggressive profile to a P3767-0000 (Orin Nano dev kit) target and pin it as the boot default:
/jetson-customize-fan
> add a profile called "aggressive" with the curve {0:255, 40:150, 80:0}
> set FAN_DEFAULT_PROFILE to aggressiveSoften the fan ramp on the existing quiet profile (raise HYST,
lower mid-PWM):
/jetson-customize-fan
> edit FAN_PROFILE quiet — raise HYST to 5 from 30 °C up, drop PWM at 60 °C to 80List which profiles the active SKU currently defines and which is the boot default:
/jetson-customize-fan
> list defined fan profilesOperation 1 — Add a new fan profile
Apply the Overlay edit recipe first.
In the per-board file, inside the
<FAN N>block, add a newFAN_PROFILE <name> { ... }between existing profiles. Daemon parse order doesn't matter, but grouping with siblings keeps the file scannable.Pick
<name>lowercase, no whitespace (e.g.quiet,cool,aggressive).Fill the curve table — 4-column
TEMP HYST PWM RPMtuples, ascendingTEMP. End with at least one row aboveGROUP_MAX_TEMPso behavior at over-temp is defined.
Example skeleton:
FAN_PROFILE aggressive {
#TEMP HYST PWM RPM
0 0 255 6000
20 2 255 6000
40 2 150 3500
60 2 50 1500
80 0 0 0
105 0 0 0
}Validate (see Rules):
Every
TEMPlies within0..GROUP_MAX_TEMPof theTHERMAL_GROUP.PWM∈[0, 255];RPM≤ the platform's tach-reported max (varies by fan part).Tuples are sorted ascending by
TEMP.
If you intend the new profile to be the boot default, follow Operation 4.
Operation 2 — Remove a fan profile
Apply the Overlay edit recipe first.
In the per-board file, delete the entire
FAN_PROFILE <name> { ... }block including all curve rows and the closing}.If the deleted
<name>matches the trailingFAN_DEFAULT_PROFILE, pointFAN_DEFAULT_PROFILEat a remaining profile — otherwise the daemon fails to start.Search for hard-coded references in the rootfs before declaring the change safe:
grep -rn "nvfancontrol.*profile\|FAN_PROFILE" \ Linux_for_Tegra/rootfs/etc 2>/dev/null
The remaining profiles do not need renaming.
Operation 3 — Edit an existing fan profile
Apply the Overlay edit recipe first.
In the per-board file, modify the curve rows of the target
FAN_PROFILE <name>. Keep the 4-columnTEMP HYST PWM RPMshape.Maintain ascending
TEMPordering; insert or remove rows as needed.Adjust
HYSTto tune anti-oscillation: too low → fan thrashes near a curve point; too high → fan lags reality.Validate per Operation 1's rules.
Edits to KICKSTART_PWM, RPM_TOLERANCE (inside FAN_CONTROL), or STEP_SIZE (inside FAN_GOVERNOR) sit outside the profiles but tune the same fan; same per-board file.
Operation 4 — Change the boot default
Apply the Overlay edit recipe first.
Edit the trailing default lines inside the <FAN N> block:
FAN_DEFAULT_CONTROL <close_loop|open_loop>
FAN_DEFAULT_PROFILE <name>
FAN_DEFAULT_GOVERNOR <type>FAN_DEFAULT_PROFILE must reference an existing FAN_PROFILE in the same <FAN N> block. FAN_DEFAULT_CONTROL and FAN_DEFAULT_GOVERNOR must reference values the binary supports — copy from existing per-board files when changing.
Operation 5 — List defined fan profiles
This is a read-only operation; no overlay-tracker setup is needed. Run
against whichever copy you want to inspect (<bsp_image.root_path>/...
for the pristine state, <source.root_path>/... for the post-edit state):
grep -E '^[[:space:]]*FAN_PROFILE ' <per-board file>
grep -E '^[[:space:]]*FAN_DEFAULT_' <per-board file>The first prints every profile name in the file; the second prints the boot defaults (control / profile / governor).
Limitations
BSP-side scope only — this skill never touches a running target's
/etc/nvpower/nvfancontrol/directly. Live tuning requires reboot via Deploy, or the side-channelscp + systemctl restartflow described in## Deploy.Edits land in the overlay copy under
<source.root_path>only; the<bsp_image.root_path>copy is read-only and is rewritten by/jetson-promote-image. Hand-editingbsp_imageis silently lost on the next/jetson-init-imagere-extract.Curve tuples must reflect characterised thermal-acoustic data for the platform — this skill does not interpolate or copy curves across chip families.
Propagation across sibling carriers (same module SKU) is partial by design: only the changed
FAN_PROFILE/ control lines are ported, never a blanket file overwrite, since sibling confs may hold carrier-specificTHERMAL_GROUP/ RPM ceilings.Curve point limits are family-specific; copy verbatim from existing confs when introducing new
THERMAL_GROUPcoefficients orFAN_DEFAULT_GOVERNORvalues.
Troubleshooting
| Error | Cause | Solution |
|---|---|---|
| nvfancontrol.service fails to start after edit | FAN_DEFAULT_PROFILE references a profile that was removed or renamed | Set FAN_DEFAULT_PROFILE to an existing FAN_PROFILE <name> in the same <FAN N>. |
| Fan thrashes near a curve point | HYST too low | Raise HYST on the affected row (typical 2–5 °C). |
| Fan lags reality | HYST too high | Lower HYST on the affected row. |
| Fan never spins up at high temp | Curve missing a row above GROUP_MAX_TEMP, or trailing 0 0 truncates above ambient | Add a high-temp tuple with non-zero PWM/RPM; pin the over-temp row only above GROUP_MAX_TEMP. |
| Daemon parse error referencing column count | Curve row not 4-column TEMP HYST PWM RPM | Restore 4-column shape; remove trailing whitespace and stray columns. |
RPM target never reached in close-loop | Target above tach-reported max, or FAN_CONTROL set to open_loop | Lower RPM to within the fan's mechanical max, or switch FAN_DEFAULT_CONTROL to close_loop. |
Change vanished after /jetson-init-image re-extract | Edit landed in <bsp_image.root_path> instead of <source.root_path> overlay | Re-apply via the Overlay edit recipe so the change is committed in the overlay tracker. |
| Sibling carrier boots with wrong tach ceiling after propagation | Blanket file copy clobbered carrier-specific THERMAL_GROUP / RPM rows | Port only the changed lines per Propagation set; restore the carrier's original THERMAL_GROUP. |
Deploy
The customization commit in the overlay tracker does not reach the device on its own. The Deploy chain:
/jetson-promote-image— copies every tracked file in the overlay into<bsp_image.root_path>/Linux_for_Tegra/. Diff-aware (skip byte-identical); usessudo cp -pforrootfs/*destinations./jetson-flash-image— flashes the updatedbsp_imageto the device.(Alternate, no flash) Copy
<source.root_path>/Linux_for_Tegra/rootfs/etc/nvpower/nvfancontrol/<conf>directly to the running target's/etc/nvpower/nvfancontrol/<conf>, thensudo systemctl restart nvfancontrol.service(or reboot).
Editing <source.root_path>/... without committing — or editing
<bsp_image.root_path>/... directly — does nothing for /jetson-promote-image
and is silently lost on the next /jetson-init-image re-extract.
Files
- ATTRIBUTION.mdAdded by AutoGineer923 B
- BENCHMARK.md3.5 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md16.8 KiB
- evals/evals.json5.1 KiB
- skill-card.md3.5 KiB
- skill.oms.sig4.5 KiB
LICENSE
Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Jetson Team
- Publisher
- NVIDIA (Official)
- Distributed by
- NVIDIA
- Source
- NVIDIA/skills · skills/jetson-customize-fan · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Jetson Team or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download jetson-customize-fan.zip